from flask import current_app
from flask_migrate import Migrate,MigrateCommand
from flask_script import Manager


from info import create_app,db,models

# 配置flask_script
from info.models import User

app = create_app('development_config')
manager = Manager(app)


# 数据库迁移
Migrate(app,db)
# 增加数据库迁移命令db
manager.add_command('db',MigrateCommand)


# 创建管理员的命令
@manager.option('-n','-name',dest='name')
@manager.option('-p','-password',dest='password')
def createsuperuser(name,password):
    """创建管理员用户"""
    if not all([name, password]):
        print('参数不足')
        return

    user = User()
    user.mobile = name
    user.nick_name = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
        print('创建成功')
    except Exception as e:
        print(e)
        current_app.logger.error(e)
        db.session.rollback()



if __name__ == '__main__':
    manager.run()
